Method of monitoring traffic in an optical or electronic network with shared resources

ABSTRACT

The present invention concerns a method of monitoring traffic in a network in which a plurality of nodes  2 A,  2 B,  2 C,  2 D access a common resource  3  such as a wavelength in an optical network. It consists in, in each node: detecting if said resource is being used to send data or if it is not being used for long enough to send a data packet and then, if it is not being used for long enough to send a data packet, prohibiting the node ( 2 B) concerned from sending data in a portion of said resource ( 3 ) that is determined statistically as a function of the requirements for use of said resource by all of the nodes ( 2 C,  2 D) on the downstream side of the node ( 2 B) concerned.

The present invention relates to a method of monitoring traffic in anetwork in which nodes access the same resource, which has a linearstructure, to send data to other nodes.

A dual bus optical ring network (DBORN) is one example of the above kindof network and transports optical packets. The architecture of thisnetwork comprises two rings connected to a concentrator and includes aplurality of nodes such as optical packet add/drop multiplexers, eachnode being in communication with the concentrator via both rings, andeach ring being unidirectional. A plurality of nodes share the sameresource, such as a wavelength, for sending packets of data in thedirection of the concentrator. Each of the nodes sharing the sameresource must use a “gap detection” mechanism to detect absence oftransmission of data during a time period at least equal to a fixed timeperiod. When a node has detected a gap, it may send to the resource apacket of data having a duration less than or equal to the fixedduration with no risk of collision with the data sent from a node thatprecedes it on the bus concerned, referred to as the upstream node. Ifthe resource is a wavelength, a gap is detected using a photodiodeadapted to receive only that wavelength. An optical delay line isinserted on the downstream side, between this photodiode and the pointfrom which the data is sent, and determines the maximum time for whichthe node concerned can send data in each of the gaps. Each packet that anode has to send is stored in a buffer in that node and is sent to theresource only if the photodiode detects a gap of sufficient duration.

However, a network of the above kind based on the sharing of resourcesgives rise to problems of equity between the nodes; in fact, the moreupstream nodes have better access to and use of the bandwidth than themore downstream nodes, since they detect gaps and use them in advance ofthe more downstream nodes.

A token ring traffic monitoring method known in the art circulates inthe ring a token that constitutes an exclusive right to send data: thereis only ever one token in the ring at any time. A node that captures thetoken becomes the only node able to send data to the resource. The tokenis reset by a director node when the node that has captured it releasesit. This method prevents collisions, but does not provide for equitabletreatment of upstream and downstream nodes. Moreover, it is notcompatible with high bit rates. In fact, sending and returning a tokenlead to a high transmission delay.

Other prior art methods called deterministic methods divide the sendingtime into time slots. Each node is entitled to send in a particular timeslot. This deterministic subdivision assures each of the nodes a minimumbandwidth.

One example of a deterministic method is described in the document bySHEU P-R et al.: “An optimal time slot assignment algorithm for CRMAhigh speed networks”, COMPUTER COMMUNICATIONS, ELSEVIER SCIENCEPUBLISHERS BV, AMSTERDAM, NL, vol. 21, N^(o) 7, 15 Jun. 1998,(1998-06-15), pages 675-685, XP004132236, ISSN: 0140-3664. A cyclicreservation multiple access (CRMA) network includes a dual connection,in which one connection is used in a given direction and the otherconnection is used in the opposite direction. A head node sends framescorresponding to time slots of fixed duration. Those frames essentiallytransport data from one node to another, each frame being assigned to asingle node. The head node periodically sends a special reservationrequest collection frame. This frame passes through all of the nodes insuccession up to an end node and then returns through all of the nodesto the head node. During its return, it records the requirements of allof the nodes in terms of a number of frames. Thus each node reserves acertain number of empty frames for the data that it has to send. Thehead node then sends a superframe including empty frames assigned torespective requesting nodes. If there are not too many reservations, thesuperframe includes a number of frames corresponding to the sum of thenumbers of frames reserved for all the nodes. If there are too manyreservations, to maintain equitable treatment of the nodes, the headnode allocates frames in accordance with an appropriate algorithm.

Another example of a deterministic method is described in the book byANDREW TANENBAUM “Computer networks”, 1996, PRENTICE HALL, UPPER SADDLERIVER, XP 002243185, which describes a distributed queue dual bus(DQDB). This network includes a dual connection, in which one connectionis used in a given direction and the other connection is used in theopposite direction. A head node sends frames corresponding to time slotsof fixed duration. Those frames are used essentially to transport datafrom one node to another, each frame being assigned to a single node.The nodes send their respective data in these frames in accordance witha first-come-first-served discipline, with no centralized queue. Toavoid favoring the most upstream stations, for a given direction, eachnode that wishes to send data in the given direction first makes areservation by setting to 1 a request bit in a frame on the busdedicated to the opposite direction. Each node includes a requestcounter and a downcounter. The request counter counts the number ofstations on the downstream side (in the given direction) that have madea reservation by counting returning frames in the upstream directionhaving a request bit at 1, until this node itself has a packet of datato send, at which point it transfers the content of its request counterinto a downcounter and resets its request counter to 0. The requestcounter then again counts returning frames in the upstream directionhaving a request bit at 1. The downcounter indicates the number of emptyframes that the node concerned must leave available to nodes on thedownstream side. Its content is decremented each time that the noderegisters the passage of a free frame. When the counter reaches zeroagain, this means that all of the requests from downstream nodes havebeen satisfied. The node concerned may then use the next empty frame tosend data.

The above deterministic methods give rise to certain difficulties. Infact, the use of clearly defined time slots imposes the presence of asynchronization clock in each node in order to synchronize the sendingof data in those time slots.

The present invention aims to provide a method of monitoring trafficenabling management of access to a shared resource in a manner thatensures equitable treatment of the nodes without using messages sent viaa director node and free of synchronization problems and problemsarising from bad use of the bandwidth.

To this end the present invention proposes a method of monitoringtraffic in a network comprising a plurality of nodes sharing one or morecommon resources and having a linear structure for sending data in agiven direction, characterized in that it consists in, in each node:

-   -   detecting if said resource is being used to send data or if it        is not being used;    -   then, if it is not being used, prohibiting the node concerned        from sending data in a portion of said resource that is        determined statistically as a function of the requirements for        use of said resource by all of the nodes on the downstream side        of the node concerned.

The above method ensures equitable access because, in applying it ineach node, it preserves a portion of the resource for all of the nodesdownstream of the node concerned. Recurrently, the preserved portionincreases as a function of how far upstream the node is situated; inother words, the size of the preserved portion increases in directproportion to the upstream distance to the node concerned. This increasein the size of the preserved portion favors all the downstream nodes tocompensate the disadvantage of their downstream position and thereforerestores equity. The relevant portion of the resource being determinedstatistically, preservation is statistical rather than a matter ofpreservation and assigning a particular portion of the resource to aparticular node. It is therefore unnecessary for the resource to bedivided into time slots allocated in a fixed manner. Consequently, it isunnecessary to synchronize the operation of the nodes. This method isalso compatible with synchronous functioning of the nodes, however.

Note also that it is always feasible to preserve a portion of theresource in all the nodes, regardless of their position. In fact,because the resource portion that is to be preserved is determined as afunction of the sum of the requirements of the nodes downstream of thenode concerned, the size of this portion decreases as the downstreamdistance to the node increases, and this portion is a subset of theportion already preserved by the immediately upstream node.

In one particular embodiment, to determine a portion of said resource tobe preserved by a statistical process and as a function of therequirements for use of that resource by all of the nodes on thedownstream side of the node concerned, the method consists in supplyingto each of said nodes statistical information defining the resourcerequirements of all of the nodes on the downstream side.

Because the information defining the resource requirements for all thedownstream nodes is statistical information, a portion of the resourceis preserved statistically for those nodes. The portion preserved is notassigned and distributed to each node deterministically, and it istherefore unnecessary to synchronize the operation of the nodes. Anotherobject of the present invention is a network node for implementing themethod of the invention.

Other features and advantages of the present invention will becomeapparent in the course of the following description of one embodiment ofthe invention given by way of illustrative and non-limiting example.

FIG. 1 represents one example of a network using the method of theinvention.

FIG. 2 is a diagram of the resource portion preserved by each of thenodes represented in FIG. 1, to illustrate the use of the method of theinvention in this network example.

The network 1 represented in FIG. 1 by way of example comprises:

-   -   nodes 2A, 2B, 2C, 2D having analogous structures;    -   a resource 3, which in this example is a wavelength of a dense        wavelength division multiplex (DWDM) optical connection, on        which all the nodes 2A, . . . , 2D may send using the        time-division multiplex technique; and    -   a bandwidth manager 13 comprising receiving means 6A for        receiving and centralizing statistical information on the        requirements of the nodes 2A, . . . , 2D and sending means 6B        for supplying to each of the nodes 2A, . . . , 2D statistical        information on the requirements for use of the resource 3 of the        nodes on its downstream side.

In this embodiment, the bandwidth manager is situated in a centralentity, which may be any of the nodes of the network, and is connectedto all of the nodes of the network 1 by means of the resource 3. Thisoccupies very little of the resource 3, since it is necessary totransmit only a few signaling data packets each time that thestatistical requirements of one or more nodes are modified. Suchmodifications occur only at the time of a change of service agreement.

In other embodiments, the information may be transmitted via anyconnection, independent of the resource 3.

The propagation direction on the resource 3 corresponds to the order 2A,2B, 2C, 2D.

All the nodes of the network 1 are similar and each is associated on theresource 3 with a photodiode 10 and an optical delay line 12 on thedownstream side of the photodiode 10. Each node sends over the resource3 on the downstream side of the associated delay line 12. Thus each nodeis able to detect and use a gap having a duration corresponding to thedelay produced by the delay line. The delay is made at least equal tothe maximum duration of the packets to be sent. A node begins to send apacket at the start of a gap only if the packet is smaller than the gapthat has been detected. Otherwise, the packet remains in the buffer ofthe node until a sufficiently large gap is detected.

Consider the node 2A by way of example. It comprises:

-   -   buffers 4 for storing packets of data to be sent coupled to the        resource 3 on the downstream side of the delay line 12 by        conventional optical senders and couplers;    -   a memory 7 for storing the requirements of use of the resource 3        by the node 2A concerned, this memory 7 having an output coupled        to the receiver means 6A of the bandwidth manager 13;    -   a token bucket traffic admission controller 11 having an input        connected to an output of the memory 7 and an output supplying a        series of sending authorizations each relating to one packet of        data;    -   a memory 8 for storing the requirements of use of the resource 3        by all of the nodes on the downstream side of the node 2A        concerned, this memory 8 having a data input coupled to the        sending means 6B of the bandwidth manager 13;    -   a logic circuit 9 having a first input connected to an output of        the memory 8, a second input connected to the photodiode 10 and        an output; and    -   a logic circuit 5 having a first input connected to the output        of the controller 11, a second input connected to the output of        the circuit 9 and an output connected to a read control input of        the buffers 4.

FIG. 2 is a diagram of the portion of the resource preserved by each ofthe nodes represented in FIG. 1, to illustrate the use of the method ofthe invention in this network example. It represents the respectiveportion of the resource that each of the nodes 2A, . . . , 2D preservesby refraining from sending data. In this very simple example, each ofthe nodes statistically requires one fifth of the total bandwidth BW ofthe resource 3. The most downstream node 2D never refrains from sendingwhen it has detected a gap of sufficient length since there is no nodeon its downstream side. The next upstream node 2C refrains from sendingin a resource portion PC equal to one fifth of the bandwidth. The nextupstream node 2B refrains from sending in a resource portion PB equal totwo fifths of the bandwidth. The next upstream node 2A refrains fromsending in a resource portion PA equal to three fifths of the bandwidth.

In this example, a portion of the bandwidth is preserved by the nodeconcerned refraining from sending one or more packets of data when ithas detected a gap having sufficient duration for at least one packet ofdata.

It must be noted here that the resource portion 3 for which sending isprohibited decreases on approaching the most downstream node. Thisimplies that each node is certain to be able to preserve the necessaryportion of the resource because it could preserve a subset of theportion already preserved by a more upstream node. Preserving gapsalready preserved by an upstream node has the advantage of avoidingunnecessary preservation of additional gaps.

A service level agreement is associated with each client and thereforewith each node. It is stored in the memory 7 of that node whichcontains, for example, statistical information defining a committedinformation rate (CIR) and a peak information rate (PIR). It suppliesthis information to the controller 11. This information is sent by eachof the nodes 2A, . . . , 2D to the receiver means 6A of the bandwidthmanager 13 to centralize the statistical information defining therequirements of the nodes 2A, . . . , 2D in respect of use of theresource 3.

There has been considered here quasistatic updating of informationreceived by the receiver means 6A, but it is equally feasible toenvisage dynamic updating of the information as a function of varyingrequirements, rather than as a function of a fixed agreement.

Each node 2A, . . . , 2D receives and stores in its memory 8 informationconcerning the requirements for use of the resource 3 by all the nodeson its downstream side. For example, the node 2B knows the requirementsof the nodes 2C and 2D for use of the resource 3. The informationcontained in the memory 8 of the node 2B is converted in the logiccircuit 9 into a signal representing a portion of the resource that isto be preserved. In this example, this signal represents a percentage ofthe total bandwidth of the resource 3 that is the sum of the respectivepercentages corresponding to the requirements of all the downstreamnodes. In this example, preserving bandwidth consists in preservingcertain gaps to allow all of the nodes on the downstream side of thenode concerned to send packets of data in the preserved gaps.

The circuit 9 receives from the photodiode 10 a signal indicatingwhether the resource is free or not. If the resource is free, thecircuit 9 measures the duration of the gap. The circuit 9 determines ifthe gap has a duration at least equal to the delay produced by the delayline 12. If so, knowing the percentage of the bandwidth that is to bepreserved, the circuit 9 determines the duration of a prohibition signalto be sent to the circuit 5.

The circuit 5 receives a data packet sending request signal from thetraffic admission controller 11 when the latter decides to send apacket. The circuit 5 transmits this data packet sending request signalto the buffer 4 if the circuit 9 authorizes it to send. If not, thecircuit 5 waits for the circuit 9 to advise it of an unpreserved gap ofsufficient duration for the length of the data packet to be sent.

In this example, the size of each packet having a payload may be 500bytes or 1500 bytes. To allow sending of packets of maximum size, whichhere is 1500 bytes, the size of a gap preserved by a node refrainingfrom sending must be at least equal to the maximum size of a datapacket. In this example, each prohibition on sending by the circuit 9has a duration corresponding to 1500 bytes or a multiple of 1500 bytesthat is referred to herein as an elementary prohibition duration. Theprohibition lasts until its duration reaches a total number ofelementary prohibition durations corresponding to the percentage of thebandwidth to be preserved, the prohibition being predominant over thesending of packets. To preserve a resource portion corresponding to Pdata packets of the maximum size, the circuit 9 supplies to the circuit5 a prohibition signal having a duration equal to P elementaryprohibition durations. This results in a guaranteed bit rate orbandwidth for a plurality of nodes on the downstream side of the nodeconcerned.

It is immaterial whether the logic circuits 5 and 9 are implemented insoftware or hardware.

In a preferred embodiment, the process is executed in accordance withthe following algorithm:

-   -   If a node detects a gap and must refrain from sending for at        least one elementary prohibition duration, i.e. 1500 bytes:        -   If the gap has a size exceeding 1500 bytes, the node            refrains from sending for at least one elementary            prohibition duration (1500 bytes);        -   If the gap has a size less than 1500 bytes and at least one            data packet with a size of less than 1500 bytes is waiting            in its buffer 4, then the node sends that packet.    -   If a node detects a gap, does not have to refrain from sending        and has a data packet waiting in its buffer 4 of a size less        than the size of the detected gap, then the node sends that        packet.

Each node has the benefit of being able to use not only the portion ofthe bandwidth preserved by this preservation process but also theremaining bandwidth not used by nodes on its upstream side.

The controller 11 is a conventional simple queue that authorizes thesending of incoming packets with a transfer rate within limits fixed byan administrator. It consists in a buffer (called the token bucket) thatis constantly filled with virtual information units produced at aspecific bit rate. Each unit extracted from the bucket yields anauthorization to send a data packet. This type of controller 11 assuresa peak bit rate, i.e. that short bursts of data may be transmitted byextracting a series of accumulated units.

Because the circuit 5 collaborates with the controller 11, the operationof the circuit 5 depends on the class of service relevant to the node.Accordingly, a sending request generated by the controller 11 may beneutralized by a prohibition signal produced by the circuit 5: this isthe case of the “best effort” classes. However, the circuit 5 mayequally pend a sending request generated by the controller 11 in orderto use it later: this is the case of “premium” classes.

The information contained in the memory 8 of this example is fixedinformation corresponding to a service level agreement, in which casethe traffic monitoring method is a preventive method. It is equallyfeasible to envisage storing instead variable information updated by thedownstream nodes, in order to alleviate congestion problems in thesituation where a downstream node does not succeed in sending itspackets and its buffers 4 are full. The traffic monitoring method isthen based on the evolution of the network and is therefore a reactiveprocess.

For certain applications, it may be advantageous also to provide meansfor synchronizing sending prohibitions in the various nodes of thenetwork. This renders the resource access time deterministic. Circuitservices may therefore be provided that necessitate not only a certainbandwidth but also knowledge of and a certainty as to the times thatbandwidth is available.

Of course, the invention is not limited to the embodiment that has justbeen described. The invention has been described in the context of anoptical network, but it is equally applicable to electronic networks.The resource described is a single wavelength and preserving a portionof the resource consisted in prohibiting a time slot on that wavelengthalone, but the resource could be a set of wavelengths, each node using avariable number of wavelengths simultaneously, in which case thepreservation of a portion of the resource would consist in each noderefraining from using a certain number of wavelengths for a certaintime.

1. Method of monitoring traffic in a network (1) comprising a pluralityof nodes (2A, . . . , 2D) sharing one or more common resources (3)having a linear structure for sending data in a given direction,characterized in that it comprises in, in each node (2B): detecting ifsaid resource is being used to send data or if it is not being used;then, if it is not being used, prohibiting the node (2B) concerned fromsending data in a portion of said resource (3) that is determinedstatistically as a function of the requirements for use of said resourceby all of the nodes (2C, 2D) on the downstream side of the node (2B)concerned.
 2. Method according to claim 1, characterized in that, todetermine a portion of said resource to be preserved by a statisticalprocess and as a function of the requirements for use of that resourceby all of the nodes (2C, 2D) on the downstream side of the node (2B)concerned, the method comprises in supplying to each of said nodesstatistical information defining the resource requirements of all of thenodes on the downstream side.
 3. Method according to claim 1,characterized in that, if said resource is not being used, it furthercomprises in measuring one or more lower limits of the time during whichit is continuously unused and in that, to prohibit the node (2B)concerned from sending data in a portion of said resource (3), itfurther comprises in prohibiting the sending of data during a timeinterval having a duration equal to a predetermined elementaryprohibition duration or a multiple thereof, the prohibition durationbeing made less than or equal to the measured duration.
 4. Methodaccording to claim 3, for a network transmitting data packets havingvariable sending durations, characterized in that the elementaryprohibition duration is at least equal to the maximum duration forsending a packet and, in that case: If a node detects that the resourceis not being used and if the node must refrain from sending for one ormore elementary prohibition durations: If the duration of non-use isgreater than an elementary prohibition duration, the node refrains fromsending for at least one elementary prohibition duration; If theduration of non-use is less than an elementary prohibition duration andthere are one or more data packets having a size less than an elementaryprohibition duration waiting in that node, the node sends saidpacket(s); If a node detects that the resource is not being used, doesnot have to refrain from sending, and has a data packet waiting having asize less than the duration of non-use, the node sends that packet. 5.Method according to claim 2, characterized in that, to determine aportion of said resource to be preserved by a statistical process and asa function of requirements for use of said resource by all the nodes onthe downstream side of the node concerned, the method comprises insupplying to the node concerned variable information updated by thedownstream nodes in order to alleviate congestion problems if adownstream node does not manage to send its packets and its buffers arefull.
 6. Node for a network (1) comprising a plurality of nodes (2A, . .. , 2D) for sending data in a given direction that share one or morecommon resources (3) and have a linear structure, characterized in thatit comprises: means (10) for detecting if said resource is being used tosend data or if it is not being used; means (5, 9) for prohibiting thenode concerned from sending data in a portion of said resource (3); andmeans (8) for determining that resource portion as a function ofrequirements for use of said resource by all the nodes (2C, 2D) on thedownstream side of the node (2B) concerned.
 7. Node according to claim6, characterized in that the means (8) for determining said resourceportion include means (8) for receiving and storing statisticalinformation defining the resource requirements for all the nodes on thedownstream side.
 8. Node according to claim 6, characterized in that themeans (10) for detecting if said resource is being used to send data orif it is not being used include means for measuring one or more lowerlimit(s) of the time during which it is continuously not being used andin that the means (5, 9) for prohibiting the node (2B) concerned fromsending data in a portion of said resource (3) include means forprohibiting the sending of data during a time interval having a durationequal to a predetermined elementary prohibition duration or a multiplethereof, the prohibition duration being less than or equal to themeasured duration.
 9. Node according to claim 6, characterized in thatit further includes synchronization means for synchronizing prohibitionof sending by the various nodes of said network.
 10. Network (1)characterized in that it includes a plurality of nodes (2A, 2B, 2C, 2D)according to claim
 1. 11. Network according to claim 10, characterizedin that it further includes: means (6A) for receiving information on therequirement for use of said resource by all the nodes, and means (6B)for sending each of said nodes information on the requirement for use ofsaid resource by the nodes on the downstream side of the node concerned.